PolarsのLazy API
from PolarsのContexts
https://docs.pola.rs/user-guide/concepts/lazy-api/
https://docs.pola.rs/user-guide/lazy/
/mrsekut-book-4297141388/130 (4-4 遅延実行)
#wip
LazyFrameに対して使える諸々のAPIのこと
最後に.collect()をつけることで実行できる
最適化されて実行される
Predicate pushdown
filterを先の方に実行するなど
Projection pushdown
不要な列は読み込まないようにする
実行計画みれる
code:py
print(q.explain())
例
code:py
q = (
pl.scan_csv("docs/assets/data/iris.csv")
.filter(pl.col("sepal_length") > 5)
.group_by("species")
.agg(pl.col("sepal_width").mean())
)
df = q.collect()
LazyFrameを作る
csvをpl.scan_csv()でよみこむ
Polars: DataFrameに.lazy()を呼び出すことでもできる
code:py
q3 = pl.DataFrame({"foo": "a", "b", "c", "bar": 0, 1, 2}).lazy()
Lazy API
Usage
Optimizations
Schema
Query plan
Query execution
Streaming
GPU Support